Dynomotion

Group: DynoMotion Message: 2690 From: Kyrylo Perederiy Date: 12/11/2011
Subject: Persisting Configuration Parameters in KFlop
Hi Tom and all,
 
I have a question on how to deal with KFlop motion parameters from the perspective of an external C# application. I’ve been using Brad’s .NET wrapper rather successfully but...
 
After a couple of month of development I now find myself in somewhat of a trouble. From the beginning I was under the impression that my end user would normally be able to use KMotion.EXE to set all the necessary axes parameters and “download” them into KFlop. Things that you would normally set in the Config&Flash window, like input and output channels, axis modes etc. Everything have worked very well so far and I’m starting beta testing phase, but it turns out that after a cold boot (which does not happen very often), KFlop controller comes up pretty much empty and all the axes (channel) parameters have to be somehow downloaded again. I’m afraid of thinking that I will have to set everything found in Config&Flash myself from my C# app and would much rather prefer to continue to rely on KFlop.EXE for the basic machine configuration.
 
Now to my question. Is there any way of making all the parameters that the user defines in Config&Flash persistent? I see that the program saves all the settings in C:\KMotion427\KMotion\Data\Config.txt – can I somehow re-download them to the controller by calling a magic interpreter command of some kind?
 
Thanks in advance,
Kyryl
Group: DynoMotion Message: 2691 From: Tom Kerekes Date: 12/11/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Hi Kyrylo,
 
I'm not sure I understand your application or why you would want your end user to be using KMotion.exe.  Normally KMotion.exe is only used by the system integrator to initially configure and tune the system.
 
The way we recommend you configure and initialize KFLOP after a power up is with a KFLOP User C program.  All the KMotion.exe configuration settings from the Config/Flash, Step Response, and Filters screens can all be converted to C code automatically with a push of a button.  This code can then be pasted into a C program.  This must be performed for each axis that needs to be configured.  We often refer to this program as the Init.c program but you can save it as whatever name you wish.  Besides just configuring parameter settings this C program might also do other things such as enable amplifiers or enable axes, but it sounds like you might also be doing those operations from your C# appliocation.  From your C# application you can compile and download this program to KFLOP with one call to KM_Controller.CompileAndLoadCoff().  You must also tell KFLOP to execute the program by sending the "ExecuteXX" command where XX is the Thread that you downloaded to.
 
Here is a Flash Video that may help explain the process:
 
 
Regards
TK
 
 

Group: DynoMotion Message: 2692 From: Kyrylo Perederiy Date: 12/11/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Hi Tom,
 
Thanks for the quick reply. I think I found an immediate solution to my trouble. You have a very nice Flash User Memory button in the Config&Flash window. I had no idea what it can be used for and after doing some RTFM it turns out that all the settings can be flashed for persistent storage. This seem to do the trick and I'm happy now :)
 
In my situation I'm using KFlop for a DIY Pick and Place machine control and I want the end-user to be the system integrator as well. The expectation is that they would purchase KFLOP from Dynomotion, wire it up to their liking and then use your KMotion.EXE for the initial system setup, servo tuning etc. I simply thought that the "Download" button would save the settings in a nonvolatile fashion as it would do with many servo drives I've dealt with. Well, now I will just tell the user to hit the Flash button once they are happy with the settings. I hope you flash withstand a dozen or so write cycles.

I do handle some of the motion parameters from my C# app, such as velocities, acceleration and jerk. The rest of the axis setup and especially the servo PID loop tuning is currently "outsourced" to KMotion.EXE, because it's so nice looking :)
 
Thanks,
Kyryl
 
Group: DynoMotion Message: 2693 From: Tom Kerekes Date: 12/11/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Hi Kyryl,
 
Ok that would work.  And the Flash is good for 100,000 cycles or more.  But I don't normally recommend that Users Flash the boards as there is there is no way to recreate the "source" of the settings in a particular board.  Actually you can upload the settings to the Screens, but things like flashed User programs are just in binary form.  So for example to upgrade the firmware the User must retain a way to restore all the settings after the upgrade.  Or if you need to swap out a board.  So you must keep track of what is flashed in each board.  If the boards are kept in a Virgin state and configured by the App each time these issues go away.  But whatever works best for you.
 
Good luck in your project I think it is very exciting.
 
Regards
TK 

Group: DynoMotion Message: 2694 From: bradodarb Date: 12/11/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Kyryl,

Sounds like a flexible way to do it, though Tom makes so good points.

Can you post some of your video links here for Tom and others to see what you are working on?

It is a very cool motion application and executed very well, especially for 'beta'.

-Brad Murry

--- In DynoMotion@yahoogroups.com, Tom Kerekes <tk@...> wrote:
>
> Hi Kyryl,
>  
> Ok that would work.  And the Flash is good for 100,000 cycles or more.  But I don't normally recommend that Users Flash the boards as there is there is no way to recreate the "source" of the settings in a particular board.  Actually you can upload the settings to the Screens, but things like flashed User programs are just in binary form.  So for example to upgrade the firmware the User must retain a way to restore all the settings after the upgrade.  Or if you need to swap out a board.  So you must keep track of what is flashed in each board.  If the boards are kept in a Virgin state and configured by the App each time these issues go away.  But whatever works best for you.
>  
> Good luck in your project I think it is very exciting.
>  
> Regards
> TK 
>
> From: Kyrylo Perederiy <kyrylo@...>
> To: "DynoMotion@yahoogroups.com" <dynomotion@yahoogroups.com>
> Sent: Sunday, December 11, 2011 3:03 PM
> Subject: RE: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>  
> Hi Tom,
>  
> Thanks for the quick reply. I think I found an immediate solution to my trouble. You have a very nice Flash User Memory button in the Config&Flash window. I had no idea what it can be used for and after doing some RTFM it turns out that all the settings can be flashed for persistent storage. This seem to do the trick and I'm happy now :)
>  
> In my situation I'm using KFlop for a DIY Pick and Place machine control and I want the end-user to be the system integrator as well. The expectation is that they would purchase KFLOP from Dynomotion, wire it up to their liking and then use your KMotion.EXE for the initial system setup, servo tuning etc. I simply thought that the "Download" button would save the settings in a nonvolatile fashion as it would do with many servo drives I've dealt with. Well, now I will just tell the user to hit the Flash button once they are happy with the settings. I hope you flash withstand a dozen or so write cycles.
>
> I do handle some of the motion parameters from my C# app, such as velocities, acceleration and jerk. The rest of the axis setup and especially the servo PID loop tuning is currently "outsourced" to KMotion.EXE, because it's so nice looking :)
>  
> Thanks,
> Kyryl
>  
>
> To: DynoMotion@yahoogroups.com
> From: tk@...
> Date: Sun, 11 Dec 2011 14:21:46 -0800
> Subject: Re: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>  
> Hi Kyrylo,
>  
> I'm not sure I understand your application or why you would want your end user to be using KMotion.exe.  Normally KMotion.exe is only used by the system integrator to initially configure and tune the system.
>  
> The way we recommend you configure and initialize KFLOP after a power up is with a KFLOP User C program.  All the KMotion.exe configuration settings from the Config/Flash, Step Response, and Filters screens can all be converted to C code automatically with a push of a button.  This code can then be pasted into a C program.  This must be performed for each axis that needs to be configured.  We often refer to this program as the Init.c program but you can save it as whatever name you wish.  Besides just configuring parameter settings this C program might also do other things such as enable amplifiers or enable axes, but it sounds like you might also be doing those operations from your C# appliocation.  From your C# application you can compile and download this program to KFLOP with one call to KM_Controller.CompileAndLoadCoff().  You must also tell KFLOP to execute the program by sending the "ExecuteXX" command where XX is the Thread that you
> downloaded to.
>  
> Here is a Flash Video that may help explain the process:
>  
> http://dynomotion.com/Help/FlashHelp/Parameters/index.html
>  
> Regards
> TK
>  
>  
>
> From: Kyrylo Perederiy <kyrylo@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, December 11, 2011 1:41 PM
> Subject: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>  
> Hi Tom and all,
>
> I have a question on how to deal with KFlop motion parameters from the perspective of an external C# application. I’ve been using Brad’s .NET wrapper rather successfully but...
>
> After a couple of month of development I now find myself in somewhat of a trouble. From the beginning I was under the impression that my end user would normally be able to use KMotion.EXE to set all the necessary axes parameters and “download” them into KFlop. Things that you would normally set in the Config&Flash window, like input and output channels, axis modes etc. Everything have worked very well so far and I’m starting beta testing phase, but it turns out that after a cold boot (which does not happen very often), KFlop controller comes up pretty much empty and all the axes (channel) parameters have to be somehow downloaded again. I’m afraid of thinking that I will have to set everything found in Config&Flash myself from my C# app and would much rather prefer to continue to rely on KFlop.EXE for the basic machine configuration.
>
> Now to my question. Is there any way of making all the parameters that the user defines in Config&Flash persistent? I see that the program saves all the settings in C:\KMotion427\KMotion\Data\Config.txt â€" can I somehow re-download them to the controller by calling a magic interpreter command of some kind?
>
> Thanks in advance,
> Kyryl
>
Group: DynoMotion Message: 2697 From: Kyrylo Perederiy Date: 12/11/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Tom,
 
I see your point, especially the board swap and flash upgrade scenarios. Still, there is this C:\KMotion427\KMotion\Data\Config.txt file that stores the settings for the UI. I think it should survive in those cases, no?
 
The Pick&Place project is indeed exciting. Here’s a shaky video of what it was doing two weeks ago: http://www.youtube.com/watch?v=UI93vLnBAjU
 
-Kyryl
 
Sent: Sunday, December 11, 2011 3:19 PM
Subject: Re: [DynoMotion] Persisting Configuration Parameters in KFlop
 
 

Hi Kyryl,
 
Ok that would work.  And the Flash is good for 100,000 cycles or more.  But I don't normally recommend that Users Flash the boards as there is there is no way to recreate the "source" of the settings in a particular board.  Actually you can upload the settings to the Screens, but things like flashed User programs are just in binary form.  So for example to upgrade the firmware the User must retain a way to restore all the settings after the upgrade.  Or if you need to swap out a board.  So you must keep track of what is flashed in each board.  If the boards are kept in a Virgin state and configured by the App each time these issues go away.  But whatever works best for you.
 
Good luck in your project I think it is very exciting.
 
Regards
TK
 
Group: DynoMotion Message: 2703 From: bennyattwell Date: 12/12/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Kyryl
i just watched all your videos. fantastic work!
did you write the camera alignment software? i wish i could program like this.

--- In DynoMotion@yahoogroups.com, Kyrylo Perederiy <kyrylo@...> wrote:
>
> Tom,
>
> I see your point, especially the board swap and flash upgrade scenarios. Still, there is this C:\KMotion427\KMotion\Data\Config.txt file that stores the settings for the UI. I think it should survive in those cases, no?
>
> The Pick&Place project is indeed exciting. Here’s a shaky video of what it was doing two weeks ago: http://www.youtube.com/watch?v=UI93vLnBAjU
>
> -Kyryl
>
> From: Tom Kerekes
> Sent: Sunday, December 11, 2011 3:19 PM
> To: DynoMotion@yahoogroups.com
> Subject: Re: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>
> Hi Kyryl,
>
> Ok that would work. And the Flash is good for 100,000 cycles or more. But I don't normally recommend that Users Flash the boards as there is there is no way to recreate the "source" of the settings in a particular board. Actually you can upload the settings to the Screens, but things like flashed User programs are just in binary form. So for example to upgrade the firmware the User must retain a way to restore all the settings after the upgrade. Or if you need to swap out a board. So you must keep track of what is flashed in each board. If the boards are kept in a Virgin state and configured by the App each time these issues go away. But whatever works best for you.
>
> Good luck in your project I think it is very exciting.
>
> Regards
> TK
>
> From: Kyrylo Perederiy <kyrylo@...>
> To: "DynoMotion@yahoogroups.com" <dynomotion@yahoogroups.com>
> Sent: Sunday, December 11, 2011 3:03 PM
> Subject: RE: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>
> Hi Tom,
>
> Thanks for the quick reply. I think I found an immediate solution to my trouble. You have a very nice Flash User Memory button in the Config&Flash window. I had no idea what it can be used for and after doing some RTFM it turns out that all the settings can be flashed for persistent storage. This seem to do the trick and I'm happy now :)
>
> In my situation I'm using KFlop for a DIY Pick and Place machine control and I want the end-user to be the system integrator as well. The expectation is that they would purchase KFLOP from Dynomotion, wire it up to their liking and then use your KMotion.EXE for the initial system setup, servo tuning etc. I simply thought that the "Download" button would save the settings in a nonvolatile fashion as it would do with many servo drives I've dealt with. Well, now I will just tell the user to hit the Flash button once they are happy with the settings. I hope you flash withstand a dozen or so write cycles.
>
> I do handle some of the motion parameters from my C# app, such as velocities, acceleration and jerk. The rest of the axis setup and especially the servo PID loop tuning is currently "outsourced" to KMotion.EXE, because it's so nice looking :)
>
> Thanks,
> Kyryl
>
>
> To: DynoMotion@yahoogroups.com
> From: tk@...
> Date: Sun, 11 Dec 2011 14:21:46 -0800
> Subject: Re: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
> Hi Kyrylo,
>
> I'm not sure I understand your application or why you would want your end user to be using KMotion.exe. Normally KMotion.exe is only used by the system integrator to initially configure and tune the system.
>
> The way we recommend you configure and initialize KFLOP after a power up is with a KFLOP User C program. All the KMotion.exe configuration settings from the Config/Flash, Step Response, and Filters screens can all be converted to C code automatically with a push of a button. This code can then be pasted into a C program. This must be performed for each axis that needs to be configured. We often refer to this program as the Init.c program but you can save it as whatever name you wish. Besides just configuring parameter settings this C program might also do other things such as enable amplifiers or enable axes, but it sounds like you might also be doing those operations from your C# appliocation. From your C# application you can compile and download this program to KFLOP with one call to KM_Controller.CompileAndLoadCoff(). You must also tell KFLOP to execute the program by sending the "ExecuteXX" command where XX is the Thread that you downloaded to.
>
> Here is a Flash Video that may help explain the process:
>
> http://dynomotion.com/Help/FlashHelp/Parameters/index.html
>
> Regards
> TK
>
>
>
> From: Kyrylo Perederiy <kyrylo@...>
> To: DynoMotion@yahoogroups.com
> Sent: Sunday, December 11, 2011 1:41 PM
> Subject: [DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>
> Hi Tom and all,
>
> I have a question on how to deal with KFlop motion parameters from the perspective of an external C# application. I’ve been using Brad’s .NET wrapper rather successfully but...
>
> After a couple of month of development I now find myself in somewhat of a trouble. From the beginning I was under the impression that my end user would normally be able to use KMotion.EXE to set all the necessary axes parameters and “download” them into KFlop. Things that you would normally set in the Config&Flash window, like input and output channels, axis modes etc. Everything have worked very well so far and I’m starting beta testing phase, but it turns out that after a cold boot (which does not happen very often), KFlop controller comes up pretty much empty and all the axes (channel) parameters have to be somehow downloaded again. I’m afraid of thinking that I will have to set everything found in Config&Flash myself from my C# app and would much rather prefer to continue to rely on KFlop.EXE for the basic machine configuration.
>
> Now to my question. Is there any way of making all the parameters that the user defines in Config&Flash persistent? I see that the program saves all the settings in C:\KMotion427\KMotion\Data\Config.txt â€" can I somehow re-download them to the controller by calling a magic interpreter command of some kind?
>
> Thanks in advance,
> Kyryl
>
Group: DynoMotion Message: 2705 From: Kyrylo Perederiy Date: 12/12/2011
Subject: Re: Persisting Configuration Parameters in KFlop
Not exactly. For the camera alignment I’m using off the shelf machine vision algorithms for pattern matching from a commercial library.
 
Regards,
Kyryl
 
Sent: Monday, December 12, 2011 2:12 AM
Subject: [DynoMotion] Re: Persisting Configuration Parameters in KFlop
 
 

Kyryl
i just watched all your videos. fantastic work!
did you write the camera alignment software? i wish i could program like this.

--- In mailto:DynoMotion%40yahoogroups.com, Kyrylo Perederiy <kyrylo@...> wrote:

>
> Tom,
>
>
I see your point, especially the board swap and flash upgrade scenarios. Still, there is this C:\KMotion427\KMotion\Data\Config.txt file that stores the settings for the UI. I think it should survive in those cases, no?
>
> The Pick&Place project is indeed exciting. Here’s a shaky video
of what it was doing two weeks ago: http://www.youtube.com/watch?v=UI93vLnBAjU
>
> -Kyryl
>
> From: Tom Kerekes
> Sent: Sunday,
December 11, 2011 3:19 PM
> To:
href="mailto:DynoMotion%40yahoogroups.com">mailto:DynoMotion%40yahoogroups.com
> Subject: Re: [DynoMotion] Persisting Configuration Parameters in
KFlop
>
>
>
> Hi Kyryl,
>
> Ok that
would work. And the Flash is good for 100,000 cycles or more. But I don't normally recommend that Users Flash the boards as there is there is no way to recreate the "source" of the settings in a particular board. Actually you can upload the settings to the Screens, but things like flashed User programs are just in binary form. So for example to upgrade the firmware the User must retain a way to restore all the settings after the upgrade. Or if you need to swap out a board. So you must keep track of what is flashed in each board. If the boards are kept in a Virgin state and configured by the App each time these issues go away. But whatever works best for you.
>
> Good luck in your
project I think it is very exciting.
>
> Regards
> TK
>
> From: Kyrylo Perederiy <kyrylo@...>
> To: "
href="mailto:DynoMotion%40yahoogroups.com">mailto:DynoMotion%40yahoogroups.com" <mailto:dynomotion%40yahoogroups.com>
> Sent: Sunday, December 11, 2011 3:03 PM
> Subject: RE:
[DynoMotion] Persisting Configuration Parameters in KFlop
>
>
>
> Hi Tom,
>
> Thanks for the quick reply. I think I
found an immediate solution to my trouble. You have a very nice Flash User Memory button in the Config&Flash window. I had no idea what it can be used for and after doing some RTFM it turns out that all the settings can be flashed for persistent storage. This seem to do the trick and I'm happy now :)
>
> In my situation I'm using KFlop for a DIY Pick and Place machine
control and I want the end-user to be the system integrator as well. The expectation is that they would purchase KFLOP from Dynomotion, wire it up to their liking and then use your KMotion.EXE for the initial system setup, servo tuning etc. I simply thought that the "Download" button would save the settings in a nonvolatile fashion as it would do with many servo drives I've dealt with. Well, now I will just tell the user to hit the Flash button once they are happy with the settings. I hope you flash withstand a dozen or so write cycles.
>
> I do handle some of the motion parameters from my C#
app, such as velocities, acceleration and jerk. The rest of the axis setup and especially the servo PID loop tuning is currently "outsourced" to KMotion.EXE, because it's so nice looking :)
>
> Thanks,
> Kyryl
>
>
> To:
href="mailto:DynoMotion%40yahoogroups.com">mailto:DynoMotion%40yahoogroups.com
>
From: tk@...
> Date: Sun, 11 Dec 2011 14:21:46 -0800
> Subject: Re:
[DynoMotion] Persisting Configuration Parameters in KFlop
>
>
> Hi Kyrylo,
>
> I'm not sure I understand your application
or why you would want your end user to be using KMotion.exe. Normally KMotion.exe is only used by the system integrator to initially configure and tune the system.
>
> The way we recommend you configure and
initialize KFLOP after a power up is with a KFLOP User C program. All the KMotion.exe configuration settings from the Config/Flash, Step Response, and Filters screens can all be converted to C code automatically with a push of a button. This code can then be pasted into a C program. This must be performed for each axis that needs to be configured. We often refer to this program as the Init.c program but you can save it as whatever name you wish. Besides just configuring parameter settings this C program might also do other things such as enable amplifiers or enable axes, but it sounds like you might also be doing those operations from your C# appliocation. From your C# application you can compile and download this program to KFLOP with one call to KM_Controller.CompileAndLoadCoff(). You must also tell KFLOP to execute the program by sending the "ExecuteXX" command where XX is the Thread that you downloaded to.
>
> Here is a Flash Video that may help explain the
process:
>
>
href="http://dynomotion.com/Help/FlashHelp/Parameters/index.html">http://dynomotion.com/Help/FlashHelp/Parameters/index.html
>
> Regards
> TK
>
>
>
> From: Kyrylo
Perederiy <kyrylo@...>
> To:
href="mailto:DynoMotion%40yahoogroups.com">mailto:DynoMotion%40yahoogroups.com
> Sent: Sunday, December 11, 2011 1:41 PM
> Subject: [DynoMotion]
Persisting Configuration Parameters in KFlop
>
>
>
>
Hi Tom and all,
>
> I have a question on how to deal with KFlop
motion parameters from the perspective of an external C# application. I’ve been using Brad’s .NET wrapper rather successfully but...
>
>
After a couple of month of development I now find myself in somewhat of a trouble. From the beginning I was under the impression that my end user would normally be able to use KMotion.EXE to set all the necessary axes parameters and “download” them into KFlop. Things that you would normally set in the Config&Flash window, like input and output channels, axis modes etc. Everything have worked very well so far and I’m starting beta testing phase, but it turns out that after a cold boot (which does not happen very often), KFlop controller comes up pretty much empty and all the axes (channel) parameters have to be somehow downloaded again. I’m afraid of thinking that I will have to set everything found in Config&Flash myself from my C# app and would much rather prefer to continue to rely on KFlop.EXE for the basic machine configuration.
>
> Now to my question. Is there any way of making
all the parameters that the user defines in Config&Flash persistent? I see that the program saves all the settings in C:\KMotion427\KMotion\Data\Config.txt â€" can I somehow re-download them to the controller by calling a magic interpreter command of some kind?
>
> Thanks in advance,
>
Kyryl
>